/*
 * Copyright (c) 2008-2013 Haulmont. All rights reserved.
 * Use is subject to license terms, see http://www.cuba-platform.com/license for details.
 */

package com.haulmont.asu.entity;

import com.haulmont.chile.core.annotations.NamePattern;
import com.haulmont.cuba.core.entity.StandardEntity;

import javax.persistence.*;
import java.util.Date;

/**
 * Author: Sergey42
 * Date: 30.11.13 20:57
 */
@Table(name = "EXT_COMMISSION_PROTOCOL")
@Entity(name = "ext$CommissionProtocol")
@NamePattern("%s|number")
public class CommissionProtocol extends StandardEntity {

    private static final long serialVersionUID = -875089497996964340L;

    @Column(name = "PROTOCOL_NUMBER", length = 10)
    protected String number;

    @Column(name = "DEFENSE_DATE")
    @Temporal(TemporalType.DATE)
    protected Date defenseDate;

    @Column(name = "START_TS")
    @Temporal(TemporalType.TIME)
    protected Date startTs;

    @Column(name = "FINISH_TS")
    @Temporal(TemporalType.TIME)
    protected Date finishTs;

    @ManyToOne
    @JoinColumn(name = "DIPLOMA_STUDENT_ID")
    protected DiplomaStudent diplomaStudent;

    @ManyToOne
    @JoinColumn(name = "PROJECT_THEME_ID")
    protected ProjectTheme projectTheme;

    @ManyToOne
    @JoinColumn(name = "SPECIALITY_ID")
    protected Speciality speciality;

    @ManyToOne
    @JoinColumn(name = "COMMISSION_ID")
    protected Commission commission;

    @ManyToOne
    @JoinColumn(name = "DIPLOMA_LEADER_ID")
    protected DiplomaLeader diplomaLeader;

    @Column(name = "NOTE_VOLUME")
    protected Integer noteVolume;

    @Column(name = "IMAGE_VOLUME")
    protected Integer imageVolume;

    @ManyToOne
    @JoinColumn(name = "REVIEWER_ID")
    protected Reviewer reviewer;

    @Column(name = "QUALIFICATION", length = 50)
    protected String qualification;

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public Date getDefenseDate() {
        return defenseDate;
    }

    public void setDefenseDate(Date defenseDate) {
        this.defenseDate = defenseDate;
    }

    public Date getStartTs() {
        return startTs;
    }

    public void setStartTs(Date startTs) {
        this.startTs = startTs;
    }

    public Date getFinishTs() {
        return finishTs;
    }

    public void setFinishTs(Date finishTs) {
        this.finishTs = finishTs;
    }

    public DiplomaStudent getDiplomaStudent() {
        return diplomaStudent;
    }

    public void setDiplomaStudent(DiplomaStudent diplomaStudent) {
        this.diplomaStudent = diplomaStudent;
    }

    public ProjectTheme getProjectTheme() {
        return projectTheme;
    }

    public void setProjectTheme(ProjectTheme projectTheme) {
        this.projectTheme = projectTheme;
    }

    public Speciality getSpeciality() {
        return speciality;
    }

    public void setSpeciality(Speciality speciality) {
        this.speciality = speciality;
    }

    public Commission getCommission() {
        return commission;
    }

    public void setCommission(Commission commission) {
        this.commission = commission;
    }

    public DiplomaLeader getDiplomaLeader() {
        return diplomaLeader;
    }

    public void setDiplomaLeader(DiplomaLeader diplomaLeader) {
        this.diplomaLeader = diplomaLeader;
    }

    public Integer getNoteVolume() {
        return noteVolume;
    }

    public void setNoteVolume(Integer noteVolume) {
        this.noteVolume = noteVolume;
    }

    public Integer getImageVolume() {
        return imageVolume;
    }

    public void setImageVolume(Integer imageVolume) {
        this.imageVolume = imageVolume;
    }

    public Reviewer getReviewer() {
        return reviewer;
    }

    public void setReviewer(Reviewer reviewer) {
        this.reviewer = reviewer;
    }

    public String getQualification() {
        return qualification;
    }

    public void setQualification(String qualification) {
        this.qualification = qualification;
    }
}
